/*
using MyGeneration/Template/NHibernate (c) by Sharp 1.4
based on OHM (alvy77@hotmail.com)
*/
using System;
using System.Collections;
using System.Collections.Generic;

namespace Model
{

	[Serializable]
	public class Imprest 
	{
		#region Member Variables

		protected string _id;
		protected string _userid;
		protected double _number;
        protected DateTime? _createdate;
		protected string _operatorid;
        protected DateTime? _updatedate;
		protected string _updatemanid;
		protected bool _bIsDeleted;
		protected bool _bIsChanged;
		#endregion
		
		
		#region Public Properties
		
		public virtual string Id
		{
			get { return _id; }
			set 
			{
			  if (value != null && value.Length > 36)
			    throw new ArgumentOutOfRangeException("Id", "Id value, cannot contain more than 36 characters");
			  _bIsChanged |= (_id != value); 
			  _id = value; 
			}
			
		}
		
		public virtual string UserId
		{
			get { return _userid; }
			set 
			{
			  if (value != null && value.Length > 36)
			    throw new ArgumentOutOfRangeException("UserId", "UserId value, cannot contain more than 36 characters");
			  _bIsChanged |= (_userid != value); 
			  _userid = value; 
			}
			
		}
		
		public virtual double Number
		{
			get { return _number; }
			set { _bIsChanged |= (_number != value); _number = value; }
			
		}

        public virtual DateTime? CreateDate
		{
			get { return _createdate; }
			set { _bIsChanged |= (_createdate != value); _createdate = value; }
			
		}
		
		public virtual string OperatorId
		{
			get { return _operatorid; }
			set 
			{
			  if (value != null && value.Length > 36)
			    throw new ArgumentOutOfRangeException("OperatorId", "OperatorId value, cannot contain more than 36 characters");
			  _bIsChanged |= (_operatorid != value); 
			  _operatorid = value; 
			}
			
		}

        public virtual DateTime? UpdateDate
		{
			get { return _updatedate; }
			set { _bIsChanged |= (_updatedate != value); _updatedate = value; }
			
		}
		
		public virtual string UpdateManId
		{
			get { return _updatemanid; }
			set 
			{
			  if (value != null && value.Length > 36)
			    throw new ArgumentOutOfRangeException("UpdateManId", "UpdateManId value, cannot contain more than 36 characters");
			  _bIsChanged |= (_updatemanid != value); 
			  _updatemanid = value; 
			}
			
		}
		

		public virtual bool IsDeleted
		{
			get
			{
				return _bIsDeleted;
			}
			set
			{
				_bIsDeleted = value;
			}
		}

        public virtual bool IsChanged
		{
			get
			{
				return _bIsChanged;
			}
			set
			{
				_bIsChanged = value;
			}
		}
		
		#endregion 
		
	}
	
}
